home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre4.z / postgre4 / src / lib / H / planner / xfunc.h < prev   
Encoding:
C/C++ Source or Header  |  1993-03-01  |  1.9 KB  |  46 lines

  1. /* $Header: /private/postgres/src/lib/H/planner/RCS/xfunc.h,v 1.9 1992/07/29 00:29:27 joey Exp $ */
  2.  
  3. #include "nodes/relation.h"
  4.  
  5. /* command line arg flags */
  6. #define XFUNC_OFF -1
  7. #define XFUNC_NOR 2
  8. #define XFUNC_NOPULL 4
  9.  
  10. /* constants for local and join predicates */
  11. #define XFUNC_LOCPRD 1
  12. #define XFUNC_JOINPRD 2
  13.  
  14. extern int XfuncMode;  /* defined in tcop/postgres.c */
  15.  
  16. /* defaults for function attributes used for expensive function calculations */
  17. #define BYTE_PCT 100
  18. #define PERBYTE_CPU 0
  19. #define PERCALL_CPU 0
  20. #define OUTIN_RATIO 100
  21.  
  22. /* default width assumed for variable length attributes */
  23. #define VARLEN_DEFAULT 128;
  24.  
  25. /* function prototypes from planner/path/xfunc.c */
  26. int xfunc_cinfo_compare ARGS((void *arg1 , void *arg2 ));
  27. extern int xfunc_clause_compare ARGS((void *arg1 , void *arg2 ));
  28. Cost xfunc_expense ARGS((LispValue clause ));
  29. Cost xfunc_func_expense ARGS((LispValue node, LispValue args));
  30. Cost xfunc_measure ARGS((LispValue clause));
  31. extern void xfunc_disjunct_sort ARGS((LispValue clause_list ));
  32. int xfunc_disjunct_compare ARGS((void *arg1 , void *arg2 ));
  33. int xfunc_width ARGS((LispValue clause));
  34. extern void xfunc_trypullup ARGS((Rel rel));
  35. int xfunc_shouldpull ARGS((Path childpath, JoinPath parentpath, int whichchild, CInfo *maxcinfopt));
  36. void xfunc_pullup ARGS((Path childpath, JoinPath parentpath, CInfo cinfo, int whichchild, int clausetype));
  37. void xfunc_fixvars ARGS((LispValue clause, Rel rel, int varno));
  38. LispValue xfunc_primary_join ARGS((JoinPath pathnode));
  39. extern Cost xfunc_get_path_cost ARGS((Path pathnode));
  40. bool xfunc_copyrel ARGS((Rel from, Rel *to));
  41. LispValue xfunc_LispRemove ARGS((LispValue foo, List bar));
  42. int xfunc_func_width ARGS((regproc funcid, LispValue args));
  43. int xfunc_tuple_width ARGS((Relation rd));
  44. Cost xfunc_total_path_cost ARGS((JoinPath pathnode));
  45. Cost xfunc_expense_per_tuple ARGS((JoinPath joinnode, int whichrel));
  46.